import {
    GetVipPrice,
    GetVipBuyStatus,
    GetScoreExchangeCoupons,
    GetBanner,
} from "@/api";

export const VipInfo = reactive({
    month: [
        [
            {
                type: "paid",
                code: "web_basis",
                name: "基础版",
                client: "Web端",
                authority: {
                    template: [
                        "创建中作品数量不超1个",
                        "发布作品不超过2个",
                        "作品广场不超过2个",
                        "作品不带水印",
                        "可以使用导览功能",
                        "可以使用录制功能",
                        "个人图片、视频素材空间不超过500M",
                        "展示时间不限",
                    ],
                    courseware: [
                        "创建中课件数量不超1个",
                        "发布课件不超过2个",
                        "作品广场不超过2个",
                        "课件不带水印",
                        "个人图片、视频素材空间不超过500M",
                        "展示时间不限",
                    ],
                },
                img: `${_oss_}images/buy-detail/buy-month-1.jpg`,
            },
            {
                type: "paid",
                code: "vr_basis",
                name: "基础版",
                client: "VR端",
                authority: {
                    template: [
                        "WEB端编辑输出",
                        "VR端体验",
                        "创建中作品数量不超1个",
                        "发布作品不超过2个",
                        "作品广场不超过2个",
                        "支持全景图片生成下载",
                        "作品不带水印可以使用",
                        "导览功能可以使用录制功能个人图片视频索材空间不超过500M",
                        "展示时间不限",
                    ],
                    courseware: [
                        "WEB端编辑输出",
                        "VR端体验",
                        "创建中课件数量不超1个",
                        "发布课件不超过2个",
                        "作品广场不超过2个",
                        "支持全景图片生成下载",
                        "课件不带水印",
                        "个人图片视频索材空间不超过500M",
                        "展示时间不限",
                    ],
                },
                img: `${_oss_}images/buy-detail/buy-month-2.jpg`,
            },
            {
                type: "paid",
                code: "web_vr_middle",
                name: "中级版",
                client: "Web端+VR端",
                authority: {
                    template: [
                        "WEB端加VR端",
                        "创建中作品数量不超3个",
                        "发布作品不超过5个",
                        "作品广场不超过5个",
                        "发布作品不带水印",
                        "可以使用导览功能",
                        "可以使用录制功能",
                        "支持全景图片生成下载",
                        "个人图片、视频素材空间不超过1G",
                        "展示时间不限",
                    ],
                    courseware: [
                        "WEB端加VR端",
                        "创建中课件数量不超3个",
                        "发布课件不超过5个",
                        "作品广场不超过5个",
                        "发布课件不带水印",
                        "支持全景图片生成下载",
                        "个人图片、视频素材空间不超过1G",
                        "展示时间不限",
                    ],
                },
                img: `${_oss_}images/buy-detail/buy-month-3.jpg`,
            },
        ],
        [
            {
                type: "paid",
                code: "web_senior",
                name: "高级版",
                client: "Web端多人",
                authority: {
                    template: [
                        "可支持10人同时体验",
                        "有语音对话功能",
                        "有动作、表情库",
                        "有虚拟化身",
                        "创建中作品数量不超2个",
                        "发布作品不超过5个",
                        "作品广场不超过5个",
                        "发布作品不带水印",
                        "可以使用导览功能",
                        "可以自定义上传模型素材",
                        "个人图片视频素材空间不超过2G",
                        "展示时间不限",
                    ],
                    courseware: [],
                },
                active: 0,
                img: `${_oss_}images/buy-detail/buy-month-4.jpg`,
            },
            {
                type: "paid",
                code: "vr_senior",
                name: "高级版",
                client: "VR端多人",
                authority: {
                    template: [
                        "可支持10人同时体验",
                        "有语音对话功能",
                        "有动作、表情库",
                        "有虚拟化身",
                        "创建中作品数量不超2个",
                        "发布作品不超过5个",
                        "作品广场不超过5个",
                        "发布作品不带水印",
                        "可以使用导览功能",
                        "可以使用录制功能",
                        "可以自定义上传模型素材",
                        "个人图片视频素材空间不超过2G",
                        "展示时间不限",
                    ],
                    courseware: [],
                },
                active: 0,
                img: `${_oss_}images/buy-detail/buy-month-5.jpg`,
            },
            {
                type: "paid",
                code: "zt_major",
                name: "专业版",
                client: "元宇宙展厅",
                authority: {
                    template: [
                        "跨端多人Web+VR端",
                        "可支持20个人同时在线",
                        "有语音对话功能",
                        "有动作、表情库",
                        "有虚拟化身",
                        "创建中作品数量不超3个",
                        "发布作品不超过5个",
                        "作品广场不超过5个",
                        "发布作品不带水印",
                        "可以使用导览功能",
                        "可以使用录制功能",
                        "可以自定义上传模型素材",
                        "自定义上传展厅模板5套",
                        "个人图片视频素材空间，不超过3G",
                        "展示时间不限",
                    ],
                    courseware: [],
                },
                active: 0,
                img: `${_oss_}images/buy-detail/buy-month-6.jpg`,
            },
        ],
    ],
    year: [
        [
            {
                type: "free",
                name: "普通会员",
                authority: {
                    template: [
                        "可以免费创建1个作品",
                        "作品广场展示1个作品",
                        "发布内容带有水印广告",
                        "不能使用导览功能",
                        "不能使用录制功能",
                        "个人图片、视频素材空间不超过50M",
                        "展示时间不限",
                    ],
                    courseware: [
                        "可以免费创建1个课件",
                        "作品广场展示1个课件",
                        "发布内容带有水印广告",
                        "个人图片、视频素材空间不超过50M",
                        "展示时间不限",
                    ],
                },
                img: `${_oss_}images/buy-detail/buy-1.jpg`,
            },
            {
                type: "paid",
                code: ["web_basis", "vr_basis"],
                name: "基础版",
                client: ["Web端", "VR端"],
                subProject: ["Web端", "VR端"],
                authority: {
                    template: [
                        [
                            "创建中作品数量不超5个",
                            "发布作品不超过5个",
                            "作品广场不超过5个",
                            "作品不带水印",
                            "可以使用导览功能",
                            "可以使用录制功能",
                            "个人图片、视频素材空间不超过500M",
                            "展示时间不限",
                        ],
                        [
                            "WEB端编辑输出",
                            "VR端体验",
                            "创建中作品数量不超5个",
                            "发布作品不超过5个",
                            "作品广场不超过5个",
                            "支持全景图片生成下载",
                            "作品不带水印可以使用导览功能",
                            "可以使用录制功能",
                            "个人图片、视频素材空间不超过500M",
                            "展示时间不限",
                        ],
                    ],
                    courseware: [
                        [
                            "创建中课件数量不超5个",
                            "发布课件不超过5个",
                            "作品广场不超过5个",
                            "发布课件不带水印",
                            "个人图片、视频素材空间不超过500M",
                            "展示时间不限",
                        ],
                        [
                            "WEB端编辑输出",
                            "VR端体验",
                            "创建中课件数量不超5个",
                            "发布课件不超过5个",
                            "作品广场不超过5个",
                            "支持全景图片生成下载",
                            "发布课件不带水印",
                            "个人图片、视频素材空间不超过500M",
                            "展示时间不限",
                        ],
                    ],
                },
                active: 0,
                img: `${_oss_}images/buy-detail/buy-2.jpg`,
            },
            {
                type: "paid",
                code: "web_vr_middle",
                name: "中级版",
                client: "Web端+VR端",
                authority: {
                    template: [
                        "WEB端加VR端",
                        "创建中作品数量不超8个",
                        "发布作品不超过8个",
                        "作品广场不超过8个",
                        "发布作品不带水印",
                        "可以使用导览功能",
                        "可以使用录制功能",
                        "支持全景图片生成下载",
                        "个人图片、视频素材空间不超过1G",
                        "展示时间不限",
                    ],
                    courseware: [
                        "WEB端加VR端",
                        "创建中课件数量不超8个",
                        "发布课件不超过8个",
                        "作品广场不超过8个",
                        "发布课件不带水印",
                        "支持全景图片生成下载",
                        "个人图片、视频素材空间不超过1G",
                        "展示时间不限",
                    ],
                },
                img: `${_oss_}images/buy-detail/buy-3.jpg`,
            },
        ],

        [
            {
                type: "paid",
                code: ["web_senior", "vr_senior"],
                name: "高级版",
                client: ["Web端多人", "VR端多人"],
                subProject: [
                    "<p>Web端</p><p>多人</p>",
                    "<p>VR端</p><p>多人</p>",
                ],
                authority: {
                    template: [
                        [
                            "可支持10人同时体验",
                            "有语音对话功能",
                            "有动作、表情库",
                            "有虚拟化身",
                            "创建中作品数量不超过3个",
                            "发布作品不超过10个",
                            "作品广场不超过10个",
                            "发布作品不带水印",
                            "可以使用导览功能",
                            "可以使用录制功能",
                            "可以自定义上传模型素材",
                            "个人图片、视频素材空间不超过2G",
                            "展示时间不限",
                        ],
                        [
                            "可支持10人同时体验",
                            "有语音对话功能",
                            "有动作、表情库",
                            "有虚拟化身",
                            "创建中作品数量不超过3个",
                            "发布作品不超过10个",
                            "作品广场不超过10个",
                            "发布作品不带水印",
                            "可以使用导览功能",
                            "可以使用录制功能",
                            "可以自定义上传模型素材",
                            "个人图片、视频素材空间不超过2G",
                            "展示时间不限",
                        ],
                    ],
                    courseware: [],
                },
                active: 0,
                img: `${_oss_}images/buy-detail/buy-5.jpg`,
            },
            {
                type: "paid",
                code: "zt_major",
                name: "专业版",
                client: "元宇宙展厅",
                authority: {
                    template: [
                        "跨端多人WEB+VR端",
                        "可支持20个人同时在线",
                        "有语音对话功能",
                        "有动作、表情库",
                        "有虚拟化身",
                        "创建中作品数量不超过3个",
                        "发布作品不超过10个",
                        "作品广场不超过10个",
                        "发布作品不带水印",
                        "可以使用导览功能",
                        "可以使用录制功能",
                        "可以自定义上传模型素材",
                        "自定义上传展厅模版5套",
                        "个人图片、视频素材空间不超过3G",
                        "展示时间不限",
                    ],
                    courseware: [],
                },
                img: `${_oss_}images/buy-detail/buy-6.jpg`,
            },
            {
                type: "customization",
                name: "定制版",
                authority: {
                    template: [
                        "定制展厅风格",
                        "定制化功能",
                        "私有化部署等",
                        "更多咨询客服",
                    ],
                    courseware: [],
                },
                img: `${_oss_}images/buy-detail/buy-7.jpg`,
            },
        ],
    ],
});

export const useContent = () => {
    const route = useRoute();

    const active = ref(1);
    const buyList = ref([]);
    const BannerList = ref([]);
    const couponsList = ref({});
    const templateName = ref("");
    const template_id = route.params.id;
    const priceMap = reactive({
        web_basis: { price: { month: 0, year: 0 } }, // Web端基础款
        web_vr_middle: { price: { month: 0, year: 0 } }, // Web+VR中级版
        vr_basis: { price: { month: 0, year: 0 } }, // VR端基础款
        web_senior: { price: { month: 0, year: 0 } }, // Web端多人高级版
        zt_major: { price: { month: 0, year: 0 } }, // 元宇宙展厅专业版
        vr_senior: { price: { month: 0, year: 0 } }, // VR端多人高级版
    });
    const type = ref("template");

    const onActive = (type) => {
        active.value = type;
    };

    // 判断是否存在优惠券
    const CalcPrice = (price) => {
        if (
            couponsList.value["money"] == 0 &&
            couponsList.value["discount"] == 0
        ) {
            return parseInt(price);
        }

        if (couponsList.value["discount"] > 0) {
            price = (price * couponsList.value["discount"]) / 10;
        }

        if (couponsList.value["money"] > 0) {
            price = price - couponsList.value["money"];
        }

        return price == parseInt(price) ? parseInt(price) : price.toFixed(2);
    };

    const GetPrice = async () => {
        const res = await GetVipPrice({
            tid: template_id,
        });

        if (res.code == 200) {
            type.value = res.data.type;
            templateName.value = res.data.name;
            let price = res.data.price;
            for (let item of price) {
                priceMap[item.code] = {
                    price: {
                        month: CalcPrice(item.m_price),
                        year: CalcPrice(item.price),
                    },
                    id: item.id,
                };
            }
        }
    };

    const GetStatus = async () => {
        const res = await GetVipBuyStatus({
            tid: template_id,
        });
        if (res.code == 200) {
            console.log(res.data);
            buyList.value = res.data;
        }
    };

    const GetCoupons = async () => {
        const res = await GetScoreExchangeCoupons();
        couponsList.value = res.data;
    };

    const GetBannerList = async (category_id) => {
        const res = await GetBanner({ category_id });
        if (res.code == 200) {
            BannerList.value = res.data;
        }
    };

    return {
        template_id,
        type,
        active,
        templateName,
        priceMap,
        couponsList,
        buyList,
        BannerList,
        onActive,
        GetPrice,
        GetStatus,
        GetCoupons,
        GetBannerList,
    };
};
